In a client-server distributed computing model, workloads are divided between servers, which typically provide services, and clients, which typically use the provided services. Clients and servers typically communicate over a computer network, or over several computer networks. In some instances, the client may be behind a firewall that inhibits the server's ability to send messages to the client.